/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package tesis.common.utils;

import java.util.List;
import tesis.domain.*;
import tesis.dto.in.*;
import tesis.utils.DateUtil;


/**
 *
 * @author hugo
 */
public class ConvertBeanUtil {
    
     private ConvertBeanUtil() {
    }

     
      public static Conexion convertConexionDTOtoEntity(ConexionDTO conexionDTO , List<EstacionDTO> lstEstacionDTO) {
        Conexion conexion = new Conexion();
        conexion.setIdconexion(conexionDTO.getIdConexion());
        for(EstacionDTO estacionDTO: lstEstacionDTO){
            if(conexionDTO.getIdEstacionInicio().compareTo(estacionDTO.getIdTemp())== 0){
                conexion.setIdestacioninicio(new Estacion(estacionDTO.getIdEstacion()));
            }
            if(conexionDTO.getIdEstacionFin().compareTo(estacionDTO.getIdTemp())== 0){
                conexion.setIdestacionfin(new Estacion(estacionDTO.getIdEstacion()));
            }
        }
        
     
        return conexion;
    }
     
     
     public static Estacion convertEstacionDTOtoEntity(EstacionDTO estacionDTO){
            
         Estacion estacion = new Estacion();
         if(estacionDTO.getNombre().compareTo( "Inicio")== 0){
             estacion.setIdtipoestacion(new TipoEstacion(1));
             estacion.setIdcargo(new Cargo(1));
             estacion.setTiempolimite(0);
         }else {
             if(estacionDTO.getNombre().compareTo("Fin")== 0){
                 estacion.setIdtipoestacion(new TipoEstacion(2));
                  estacion.setIdcargo(new Cargo(1));
                  estacion.setTiempolimite(0);
             }else{
                 estacion.setIdtipoestacion(new TipoEstacion(3));
                 estacion.setIdcargo(new Cargo(estacionDTO.getIdCargo()));
                 estacion.setTiempolimite(estacionDTO.getTiempoLimite());
             }
         }
         
         estacion.setIdestacion(estacionDTO.getIdEstacion());
         estacion.setIdTemp(estacionDTO.getIdTemp());
         estacion.setNombre(estacionDTO.getNombre());
         
         return estacion;
     }
     
     
     
    public static Variable convertVariableDTOtoEntity(VariableDTO variableDTO) {
        Variable variable = new Variable();
       
        variable.setIdvariable(variableDTO.getIdvariable());
        variable.setNombre(variableDTO.getNombre());
        variable.setDescripcion(" desc");
        variable.setTipodato(variableDTO.getTipoDatoDTO().getIdtipodato()); 
        return variable;
    }
    
    public static TipoDocumento convertTipoDocumentoDTOtoEntity( TipoDocumentoDTO tipoDocumentoDTO){
        TipoDocumento tipoDocumento = new TipoDocumento();
        tipoDocumento.setIdtipodocumento(tipoDocumentoDTO.getIdTipoDocumento());
        tipoDocumento.setNombre(tipoDocumentoDTO.getNombre());
        tipoDocumento.setDescripcion(tipoDocumentoDTO.getDescripcion());  
        return tipoDocumento;
    }
    
    public static EstadoDocumento convertEstadoDocumentoDTOtoEntity(EstadoDocumentoDTO estadoDocumentoDTO) {
        
        EstadoDocumento estadoDocumento = new EstadoDocumento();
        
        estadoDocumento.setIdestadodocumento(estadoDocumentoDTO.getIdestadodocumento());
        estadoDocumento.setNombre(estadoDocumentoDTO.getNombre());
        estadoDocumento.setDescripcion(estadoDocumentoDTO.getDescripcion());
        estadoDocumento.setEsactivo('A');
        return estadoDocumento;
    }
    
    public static Proceso convertProcesoDTOtoEntity(ProcesoDTO procesoDTO){
        Proceso proceso=new Proceso();
        
        proceso.setIdproceso(procesoDTO.getIdProceso());
        proceso.setNombre(procesoDTO.getNombre());
        proceso.setIdcategoriaproceso(new CategoriaProceso(1));
        proceso.setVersion(1);
        
        return proceso;
    }
    
    
     public static UsuarioDTO toUsuarioDTO(Usuario usuario) {
        UsuarioDTO usuarioDTO=new UsuarioDTO();
        usuarioDTO.setIdusuario(usuario.getIdusuario());
        /*cargalaboral = usuario.getCargalaboral();
        this.usuario = usuario.getUsuario();
        nombre = usuario.getNombre();
        apellidopaterno = usuario.getApellidopaterno();
        apellidomaterno = usuario.getApellidomaterno();
        password = usuario.getPassword();
        telefono = usuario.getTelefono();
        celular = usuario.getCelular();
        anexo  = usuario.getAnexo();
        email  = usuario.getEmail();
        esactivo = usuario.getEsactivo();
        cargoDTO =  new CargoDTO( usuario.getIdcargo());*/
        return usuarioDTO;
     }
     
     public static TipoDatoDTO toTipoDatoDTO(TipoDato tipodato) {
        TipoDatoDTO tipoDTO=new TipoDatoDTO(tipodato.getIdtipodato(),tipodato.getNombretipodato(),tipodato.getNombretipodato());
        return tipoDTO;
     }
     
     public static CargoDTO toCargoDTO(Cargo cargo) {
        CargoDTO cargoDTO=new CargoDTO();
        cargoDTO.setIdCargo(cargo.getIdcargo());
        cargoDTO.setNombre(cargo.getNombre());
        cargoDTO.setDescripcion(cargo.getDescripcion());
        cargoDTO.setEsActivo(cargo.getEsActivo());
        return cargoDTO;
     }
     
     public static MapaSincronizadoDTO toMapaSincDTO(MapaSincronizado mapa, boolean conJSON){
        MapaSincronizadoDTO mapaDTO=new MapaSincronizadoDTO();
        mapaDTO.setId(mapa.getId());
        mapaDTO.setNombreProceso(mapa.getNombre());
        mapaDTO.setEstado(mapa.getEstado());
        mapaDTO.setFecha(DateUtil.formatDDMMYYHH(mapa.getFecha()));
        if (conJSON){
            mapaDTO.setData(mapa.getStringData());
            mapaDTO.setLienzo(mapa.getLienzo());
        }
        return mapaDTO;
     }
     
}
